package cn.getech.data.development.service;

import cn.getech.data.development.entity.AnalysisMessageModelConf;
import cn.getech.data.development.entity.ConfConnect;
import cn.getech.data.development.entity.ModelDetails;
import cn.getech.data.development.entity.TableFieldInfo;
import cn.getech.data.development.model.dto.AnalysisInfoDto;
import cn.getech.data.development.model.dto.AnalysisMessageModelConfSaveDto;
import cn.getech.data.development.model.dto.AnalysisModelDataAndMappingDto;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 原始数据和模型的映射信息 服务类
 * </p>
 *
 * @author hujz
 * @since 2019-08-21
 */
public interface IAnalysisMessageModelConfService extends IService<AnalysisMessageModelConf> {

    /**
    * @Description 根据连接id和模型id获取到对应的连接的数据以及对应的未映射的关系信息
    * @Author  hujz
    * @Date   2019/8/24 14:51
    * @Param analysisInfoDto 包含模型id和连接id的查询
    * @Return
    * @Exception
    *
    */
    AnalysisModelDataAndMappingDto getDataByConnect(AnalysisInfoDto analysisInfoDto);

    /**
    * @Description 重新加载模型
    * @Author  hujz
    * @Date   2019/8/29 21:03
    * @Param
    *
    */
    AnalysisModelDataAndMappingDto reloadModelCof(AnalysisInfoDto analysisInfoDto);

    /**
     * @Description 保存模型配置
     * @Author  hujz
     * @Date   2019/8/29 21:03
     * @Param
     *
     */
    void save(AnalysisMessageModelConfSaveDto analysisMessageModelConfSaveDto);

    /***
     * 验证连接的参数
     * @Author  hujz
     * @Date   2019/9/9 21:03
     * @param confConnect
     */
    void cheackConfConnect(ConfConnect confConnect);

    /***
     * 验证连接的参数
     * @Author  hujz
     * @Date   2019/9/9 21:03
     * @param tableFieldInfos    modelDetailsOutPut
     */
    void cheackModelField(List<TableFieldInfo> tableFieldInfos, List<ModelDetails> modelDetailsOutPut);
}
